As companies are becoming increasingly more international in business activities, each country in which a company operates may have different languages. The diversity of these cultures produces a challenge for information systems. Each culture wants the software and data it produces to support the local conventions and cultures. This means that software must be translated for each of these cultures. The cultures can differ in terms of script (written languages used), languages, meaning of pictures and images, currency conventions, address and telephone number conventions, data and time conventions, units of measures commonly used, and many other aspects of the information system.
Typically, the term globalization is used to refer to the process of enabling software to support multiple languages. Globalization involves removing all cultural biased conventions from the software so that the software can more quickly be adapted to the conventions and language of a particular culture. The term localization is used to refer to the process of providing a particular cultural binding of the software. The localization process involves translating the strings, images, and other elements of the system to a form that matches the local conventions of a particular culture.
Further, the cost of translating systems and information can be quite expensive. This cost is particularly high if the information system changes frequently. Each change must be made through all the locales. If a system can not manage the effects of change efficiently, increased costs are the result as unneeded translations are required.
Today, most globalization systems are limited in that their operation is restricted to the resource (e.g., strings, bit maps, etc.), where each resource in the system is placed in a resource file and then translated or localized. These systems are further restricted to loading no more than one resource file at a time, consequently, they are unable to support no more than a single locale at any particular moment in time.
Today's global environment often necessitates that users have access to multiple translations (i.e. locales/locale context). For example within Switzerland, multiple languages are used and they should be able to view information in the language/dialect with which they are most comfortable.